descrizione cicli iterativi con VBA
ritorna con
variavba.htm


ciclo1.ppt

ciclo iterativo con While...Wend

Option Explicit

Private Sub CommandButton1_Click()
Dim a As Double
Dim p As Double
Dim espo, n As Integer
a = TextBox1.Text
espo = TextBox2.Text + 1
p = 1
n = 1
While n < espo
p = p * a
stampa.AddItem ("potenza : " & n & " = " & p)
n = n + 1
Wend

stampa.AddItem ("---------------")
End Sub

Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox2 = ""
End Sub

Private Sub CommandButton3_Click()
TextBox1 = ""
TextBox2 = ""
stampa.Clear
End Sub

Private Sub UserForm_Click()

End Sub


ciclo6.ppt

ciclo iterativo con While...Wend

Option Explicit

Private Sub CommandButton1_Click()
Dim limite As Integer
limite = TextBox1.Text
Call controlla(limite)
CommandButton2.SetFocus
End Sub

Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox1.SetFocus
End Sub

Private Sub UserForm_Click()

End Sub

Public Sub controlla(n As Integer)

Dim k As Integer
Dim somma As Integer
Dim prodotto As Double
n = TextBox1.Text
k = 1
somma = 0
prodotto = 1
While k < (n + 1)
somma = somma + k
prodotto = prodotto * k
ListBox1.AddItem ("numero serie = " & k)
ListBox1.AddItem ("somma = " & " " & somma)
ListBox1.AddItem ("prodotto = " & prodotto)
ListBox1.AddItem ("-------------------")
k = k + 1
Wend

ListBox1.AddItem ("----------")
End Sub


ciclo7.ppt

ciclo iterativo con While...Wend

Option Explicit
Private Sub CommandButton1_Click()
Dim limite As Integer
limite = TextBox1.Text
Call controlla(limite)
CommandButton2.SetFocus
End Sub
Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub
Public Sub controlla(n As Integer)
Dim k As Integer
Dim somma As Double
Dim prodotto As Double
Dim valore As Integer
somma = 0
prodotto = 1
n = TextBox1.Text
k = 1
While k < n + 1
valore = TextBox2.Text
somma = somma + valore
prodotto = prodotto * valore
ListBox1.AddItem ("somma = " & " " & somma)
ListBox1.AddItem ("prodotto = " & prodotto)
k = k + 1
ListBox1.AddItem (".............")
Wend

ListBox1.AddItem ("-----------------")
End Sub
Private Sub UserForm_Click()

End Sub


ciclo8.ppt
ciclo iterativo con While...Wend

Option Explicit

Private Sub CommandButton1_Click()
Dim limite As Integer
limite = TextBox1.Text
Call controlla(limite)
CommandButton2.SetFocus
End Sub

Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub

Private Sub CommandButton3_Click()
ListBox1.Clear
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub

Public Sub controlla(n As Integer)
Dim k As Integer
Dim quadrato As Double
Dim radice As Double
Dim valore As Integer
n = TextBox1.Text
k = 0
While k < n
valore = TextBox2.Text + k
quadrato = valore * valore
radice = Sqr(valore)
ListBox1.AddItem ("quadrato di " & valore & " = " & quadrato)
ListBox1.AddItem ("radice di " & valore & " = " & radice)
k = k + 1
ListBox1.AddItem (".............")
Wend
ListBox1.AddItem ("-----------------")
End Sub
Private Sub UserForm_Click()
End Sub


doloop1.ppt iterazione con Do...While..Loop
il ciclo si ripete finchè k risulta inferiore al limite imposto (10)

Option Explicit

Private Sub CommandButton1_Click()
Dim k, somma As Integer
k = 1
somma = 0
Do While k < 10
somma = somma + k
ListBox1.AddItem ("somma n " & k & " = " & somma)
k = k + 1
Loop

ListBox1.AddItem ("somma finale = " & somma)

End Sub

Private Sub UserForm_Click()

End Sub


doloop2.ppt
iterazione con
Do...Loop Until : si verifica finchè non viene ruperato limite fissato(100)

Option Explicit

Private Sub CommandButton1_Click()
Dim k, somma As Integer
k = 0
somma = 0
Do
somma = somma + k
k = k + 1
ListBox1.AddItem ("somma n. " & k & " = " & somma)
MsgBox ("n " & k & " = " & somma)
Loop Until somma > 100
End Sub

Private Sub UserForm_Click()

End Sub